home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1986-09-18 | 22.5 KB | 699 lines |
- 10 DEFINT A-Z
- 20 SCREEN 0:WIDTH 80:KEY OFF:CLS
- 30 PRINT " |------------------------------------------------------------------|"
- 40 PRINT " | |"
- 50 PRINT " | S H A R E W A R E |"
- 60 PRINT " | |"
- 70 PRINT " | User Supported Software |"
- 80 PRINT " | |"
- 90 PRINT " |------------------------------------------------------------------|"
- 100 PRINT " | |"
- 110 PRINT " | If you play this game and find it enjoyable (and want to |"
- 120 PRINT " | encourage me to write others), you contribution ($10 suggested, |"
- 130 PRINT " | or whatever you feel it is worth) would be greatly appreciated. |"
- 140 PRINT " | |"
- 150 PRINT " | C & K Software |"
- 160 PRINT " | 1624 War Bird Dr. |"
- 170 PRINT " | Norman, OK 73071 |"
- 180 PRINT " | |"
- 190 PRINT " | You are encouraged to copy and share this game with other |"
- 200 PRINT " | users, on the conditions that the program is not distributed |"
- 210 PRINT " | in modified form, that no fee or consideration is charged, and |"
- 220 PRINT " | that this notice is not removed. |"
- 230 PRINT " | |"
- 240 PRINT " |------------------------------------------------------------------|"
- 250 PRINT:PRINT " Strike any key to continue ...";
- 260 IF INKEY$="" THEN 260
- 270 SCREEN 1:RANDOMIZE TIMER
- 280 DIM A(6,1),B(6,1),C(6,1),D(6,1),F(27,1),G(27)
- 290 DIM LEFTOUT(7,7),INPLAY(3,1),WHOHAS(3,9)
- 300 DIM TEMP(6,1),DOUB(6),COUNT(6),GONE(9)
- 310 CLS:TURN=1:ASCORE=0:BSCORE=0
- 320 RESTORE 370
- 330 FOR X1=0 TO 27
- 340 READ X,Y
- 350 F(X1,0)=X:F(X1,1)=Y
- 360 NEXT X1
- 370 DATA 0,0,0,1,0,2,0,3,0,4,0,5,0,6
- 380 DATA 1,1,1,2,1,3,1,4,1,5,1,6
- 390 DATA 2,2,2,3,2,4,2,5,2,6
- 400 DATA 3,3,3,4,3,5,3,6
- 410 DATA 4,4,4,5,4,6
- 420 DATA 5,5,5,6,6,6
- 430 REM *******PICK DOMINOES***********
- 440 FOR X=0 TO 27:G(X)=-1:NEXT X
- 450 FOR Y=0 TO 6
- 460 GOSUB 550
- 470 A(Y,0)=F(Z,0):A(Y,1)=F(Z,1)
- 480 GOSUB 550
- 490 B(Y,0)=F(Z,0):B(Y,1)=F(Z,1)
- 500 GOSUB 550
- 510 C(Y,0)=F(Z,0):C(Y,1)=F(Z,1)
- 520 GOSUB 550
- 530 D(Y,0)=F(Z,0):D(Y,1)=F(Z,1)
- 540 NEXT Y:GOTO 580
- 550 Z=INT(RND*(27+1))
- 560 IF G(Z)=0 THEN 550
- 570 G(Z)=0:RETURN
- 580 REM *******************************
- 590 REM **Initial domino set-up ******
- 600 RESTORE 740
- 610 LINE (0,12)-(319,199),0,BF
- 620 LOCATE 1,2:PRINT "Us ";ASCORE;:LOCATE 1,31:PRINT "Them ";BSCORE;
- 630 LINE (73,50)-(233,130),1,B
- 640 FOR X1=0 TO 6
- 650 READ X,Y
- 660 LINE (X,Y)-STEP(40,-20),2,B
- 670 LINE (X+20,Y)-STEP (0,-20),2
- 680 L1= A(X1,0):GOSUB 760
- 690 L1=A(X1,1):X=X+20:GOSUB 760
- 700 NEXT X1
- 710 LOCATE 22,1
- 720 PRINT" 1 2 3 4 5 6 7";
- 730 GOTO 2170
- 740 DATA 0,199,45,199,90,199,135,199,180,199,225,199,270,199
- 750 REM **** Add Dots to Domino ******
- 760 ON L1 GOTO 780,790,810,820,850,860
- 770 RETURN
- 780 CIRCLE(X+10,Y-10),1,3:PAINT(X+10,Y-10),3:RETURN
- 790 CIRCLE(X+5,Y-15),1,3:PAINT(X+5,Y-15),3
- 800 CIRCLE(X+15,Y-5),1,3:PAINT(X+15,Y-5),3:RETURN
- 810 GOSUB 790:GOSUB 780:RETURN
- 820 GOSUB 790
- 830 CIRCLE(X+5,Y-5),1,3:PAINT(X+5,Y-5),3
- 840 CIRCLE(X+15,Y-15),1,3:PAINT(X+15,Y-15),3:RETURN
- 850 GOSUB 820:GOSUB 780:RETURN
- 860 GOSUB 820:CIRCLE(X+10,Y-5),1,3:PAINT(X+10,Y-5),3
- 870 CIRCLE(X+10,Y-15),1,3:PAINT(X+10,Y-15),3:RETURN
- 880 REM ******* Bid Section **********
- 890 DBLES=0:SCORE=0
- 900 FOR X=0 TO 6
- 910 DOUB(X)=0:COUNT(X)=0
- 920 NEXT X
- 930 FOR X=0 TO 6
- 940 IF TEMP(X,0)=-1 THEN 990
- 950 IF TEMP(X,0)<>TEMP(X,1) THEN 970
- 960 DBLES=DBLES+1:DOUB(TEMP(X,0))=1:GOTO 980
- 970 COUNT(TEMP(X,0))=COUNT(TEMP(X,0))+1
- 980 COUNT(TEMP(X,1))=COUNT(TEMP(X,1))+1
- 990 NEXT X
- 1000 SCORE=SCORE+DBLES*10
- 1010 FOR Y=0 TO 6
- 1020 IF DOUB(Y)=0 THEN 1070
- 1030 FOR X=0 TO 6
- 1040 IF Y=6 AND TEMP(X,0)=5 AND TEMP(X,1)=6 THEN SCORE=SCORE+10
- 1050 IF Y<6 AND TEMP(X,1)=6 AND TEMP(X,0)=Y THEN SCORE=SCORE+10
- 1060 NEXT X
- 1070 NEXT Y
- 1080 HIGH=0:TRUMP=-1
- 1090 FOR X=0 TO 6
- 1100 N=0
- 1110 IF COUNT(X)<3 THEN 1240
- 1120 FOR Y=0 TO 6
- 1130 IF X<6 AND DOUB(X)=0 AND TEMP(Y,0)=X AND TEMP(Y,1)=6 THEN N=N+5
- 1140 IF X=6 AND DOUB(X)=0 AND TEMP(Y,1)=6 AND TEMP(Y,0)=5 THEN N=N+5
- 1150 IF TEMP(Y,0)>4 OR TEMP(Y,1)>4 THEN 1200
- 1160 IF TEMP(Y,0)=2 AND TEMP(Y,1)=3 THEN 1200
- 1170 IF TEMP(Y,0)=1 AND TEMP(Y,1)=4 THEN 1200
- 1180 IF TEMP(Y,0)=TEMP(Y,1)THEN 1200
- 1190 N=N+3
- 1200 NEXT Y
- 1210 N=N+((COUNT(X)-3)*10)
- 1220 IF SCORE+N<HIGH THEN 1240
- 1230 HIGH=SCORE+N:TRUMP=X
- 1240 NEXT X
- 1250 TESTVAL=HIGH
- 1260 REM *Normal hand bid as follows*
- 1270 BID=0
- 1280 IF LAST=0 OR HIBID>29 THEN 1310
- 1290 IF TRUMP>=0 AND DBLES>1 THEN BID=30
- 1300 IF LAST<>0 AND HIGH>37 THEN BID=30:GOTO 1390
- 1310 IF HIGH>37 THEN BID=30
- 1320 IF HIGH>45 THEN BID=31
- 1330 IF HIGH>50 THEN BID=32
- 1340 IF HIGH>55 THEN BID=36
- 1350 IF HIGH>67 THEN BID=42
- 1360 IF TRUMP=6 AND DOUB(6)=0 AND BID>=30 THEN BID=30
- 1370 IF TRUMP<>5 OR DOUB(5)=1 THEN 1390
- 1380 IF HIGH>50 THEN BID=30 ELSE BID=0
- 1390 IF BID>HIBID THEN RETURN
- 1400 REM******* Doubles Hand *********
- 1410 SCORE=0:FLAG=0
- 1420 IF DBLES<4 THEN 1620
- 1430 IF DOUB(6)=1 THEN SCORE=SCORE+50
- 1440 IF SCORE=50 AND DOUB(5)=1 THEN SCORE=SCORE+50
- 1450 SCORE=SCORE+(DBLES-4)*10
- 1460 FOR X=0 TO 6
- 1470 IF TEMP(X,0)<>5 OR TEMP(X,1)<>6 THEN 1490
- 1480 SCORE=SCORE+10:FLAG=1
- 1490 NEXT X
- 1500 FOR X=0 TO 6
- 1510 IF TEMP(X,0)<>4 OR TEMP(X,1)<>5 THEN 1530
- 1520 IF FLAG=1 THEN SCORE=SCORE+10 ELSE SCORE=SCORE+9
- 1530 NEXT X
- 1540 REM ****** Bid for Doubles *******
- 1550 BID=0
- 1560 IF SCORE=109 THEN BID=30
- 1570 IF SCORE=110 THEN BID=31
- 1580 IF SCORE>119 THEN BID=36
- 1590 IF SCORE>129 THEN BID=42
- 1600 IF BID<=HIBID THEN 1620
- 1610 TRUMP=7:RETURN
- 1620 REM ****** Check for Trash *******
- 1630 LOSERS=0
- 1640 FOR X=0 TO 6
- 1650 IF TEMP(X,0)=1 AND TEMP(X,1)=1 THEN 1670
- 1660 IF TEMP(X,0)=0 OR TEMP(X,0)=1 THEN LOSERS=LOSERS+1
- 1670 NEXT X
- 1680 REM ******* Bid for Trash *******
- 1690 IF LAST=0 OR HIBID>29 THEN 1710
- 1700 BID=42:TRUMP=8:RETURN
- 1710 IF LOSERS>5 THEN 1700
- 1720 RETURN
- 1730 REM ******** Bidding routine for each player **********
- 1740 LOCATE 21,18:PRINT" ";
- 1750 LOCATE 21,18:INPUT"Bid";A$
- 1760 IF LEFT$(A$,1)="p" OR LEFT$(A$,1)="P" THEN GIZMO=1 ELSE GIZMO=0
- 1770 IF GIZMO=0 THEN 1790
- 1780 IF GIZMO=1 AND LAST=0 OR GIZMO=1 AND HIBID>29 THEN RETURN ELSE 1740
- 1790 IF VAL(A$)=0 THEN 1740
- 1800 IF VAL(A$)<=HIBID THEN 1740
- 1810 IF VAL(A$)=84 AND HIBID=42 OR VAL(A$)=168 AND HIBID=84 THEN 1830
- 1820 IF VAL(A$)>42 THEN 1740
- 1830 HIBID=VAL(A$):RETURN
- 1840 FOR X=0 TO 6
- 1850 TEMP(X,0)=B(X,0):TEMP(X,1)=B(X,1)
- 1860 NEXT X:GOSUB 880
- 1870 BTRUMP$=STR$(TRUMP):BSC=TESTVAL
- 1880 IF TRUMP=7 THEN BTRUMP$="D"
- 1890 IF TRUMP=8 THEN BTRUMP$="T"
- 1900 LOCATE 11,1:PRINT "Bid"
- 1910 IF BID>HIBID THEN 1930
- 1920 B$="pass":LOCATE 12,1:PRINT B$:RETURN
- 1930 IF TRUMP=8 THEN HIBID=42 ELSE HIBID=BID
- 1940 B$=STR$(HIBID):LOCATE 12,1:PRINT B$:RETURN
- 1950 FOR X=0 TO 6
- 1960 TEMP(X,0)=C(X,0):TEMP(X,1)=C(X,1)
- 1970 NEXT X:GOSUB 880
- 1980 CTRUMP$=STR$(TRUMP):CSC=TESTVAL
- 1990 IF TRUMP=7 THEN CTRUMP$="D"
- 2000 IF TRUMP=8 THEN CTRUMP$="T"
- 2010 LOCATE 1,18:PRINT "Bid"
- 2020 IF BID>HIBID THEN 2040
- 2030 C$="pass":LOCATE 2,18:PRINT C$:RETURN
- 2040 IF TRUMP=8 THEN HIBID=42 ELSE HIBID=BID
- 2050 C$=STR$(HIBID):LOCATE 2,18:PRINT C$:RETURN
- 2060 FOR X=0 TO 6
- 2070 TEMP(X,0)=D(X,0):TEMP(X,1)=D(X,1)
- 2080 NEXT X:GOSUB 880
- 2090 DTRUMP$=STR$(TRUMP):DSC=TESTVAL
- 2100 IF TRUMP=7 THEN DTRUMP$="D"
- 2110 IF TRUMP=8 THEN DTRUMP$="T"
- 2120 LOCATE 11,34:PRINT "Bid"
- 2130 IF BID>HIBID THEN 2150
- 2140 D$="pass":LOCATE 12,34:PRINT D$:RETURN
- 2150 IF TRUMP=8 THEN HIBID=42 ELSE HIBID=BID
- 2160 D$=STR$(HIBID):LOCATE 12,34:PRINT D$:RETURN
- 2170 LAST=0:HIBID=29
- 2180 FOR LOOP=1 TO 4
- 2190 IF LOOP=4 THEN LAST=1
- 2200 ON TURN GOSUB 1740,1840,1950,2060
- 2210 IF TURN=4 THEN TURN=1 ELSE TURN=TURN+1
- 2220 NEXT LOOP
- 2230 IF TURN=4 THEN TURN=1 ELSE TURN=TURN+1
- 2240 REM ****** Go to Play Now *******
- 2250 FOR XXX=1 TO 500:NEXT XXX
- 2260 IF VAL(A$)=HIBID THEN BIDDER=1:ETRUMP$=ATRUMP$:GOTO 2300
- 2270 IF VAL(B$)=HIBID THEN BIDDER=2:ETRUMP$=BTRUMP$:GOTO 2300
- 2280 IF VAL(C$)=HIBID THEN BIDDER=3:ETRUMP$=CTRUMP$:GOTO 2300
- 2290 IF VAL(D$)=HIBID THEN BIDDER=4:ETRUMP$=DTRUMP$:GOTO 2300
- 2300 IF ETRUMP$="D" THEN TRUMP=7:GOTO 2320
- 2310 IF ETRUMP$="T" THEN TRUMP=8 ELSE TRUMP=VAL(ETRUMP$)
- 2320 WHOSE=BIDDER:GOTO 4120
- 2330 PRINT "Player A B C D"
- 2340 PRINT "bid ";A$;" ";B$;" ";C$;" ";D$
- 2350 PRINT "Trump ";ATRUMP$,BTRUMP$;" ";CTRUMP$;" ";DTRUMP$
- 2360 FOR X=0 TO 6
- 2370 PRINT" ";A(X,0);A(X,1);" ";B(X,0);B(X,1);" ";C(X,0);C(X,1);" ";D(X,0);D(X,1)
- 2380 NEXT X
- 2390 PRINT" ";BSC;" ";CSC;" ";DSC
- 2400 IF INKEY$="" THEN 2400
- 2410 CLS:GOTO 430
- 2420 REM ************* Actual Playing Section - Passive ******************
- 2430 IF TRUMP=8 THEN 3210
- 2440 PLAYHI=-1:PLAYLO=-1:SIDE2HI=-1:SIDE2LO=8:CHKFLAG=0
- 2450 FOR X9 = 0 TO 6
- 2460 IF LEAD<>TRUMP OR TRUMP<>7 THEN 2520
- 2470 IF TEMP(X9,0)=-1 THEN 2600
- 2480 IF TEMP(X9,0)=TEMP(X9,1) THEN TEST=TEMP(X9,0) ELSE 2600
- 2490 IF TEST<SIDE2LO THEN PLAYLO=X9:SIDE2LO=TEST
- 2500 IF TEST>SIDE2HI THEN PLAYHI=X9:SIDE2HI=TEST
- 2510 GOTO 2600
- 2520 IF TEMP(X9,0)<>LEAD AND TEMP(X9,1)<>LEAD THEN 2600
- 2530 IF TRUMP=7 AND LEAD<>TRUMP AND TEMP(X9,0)=TEMP(X9,1) THEN 2600
- 2540 IF TEMP(X9,0)=LEAD THEN TEST=TEMP(X9,1) ELSE TEST=TEMP(X9,0)
- 2550 IF TEST=TRUMP AND LEAD<>TRUMP THEN 2600
- 2560 IF TEST=LEAD THEN TEST=7
- 2570 IF TEST<SIDE2LO THEN PLAYLO=X9:SIDE2LO=TEST
- 2580 IF TEST>SIDE2HI THEN PLAYHI=X9:SIDE2HI=TEST
- 2590 IF TEST=LEAD THEN SIDE2HI=7:PLAYHI=X9
- 2600 NEXT X9
- 2610 IF PLAYHI=-1 THEN 2690
- 2620 IF TRUMPIN>-1 THEN FPLAY=PLAYLO:RETURN
- 2630 IF ABS(WHOSE-LOOKFOR)<>2 THEN 2660
- 2640 IF LEAD<>TRUMP THEN 2660
- 2650 FPLAY=PLAYHI:RETURN
- 2660 IF SIDE2HI>OTHER THEN FPLAY=PLAYHI ELSE FPLAY=PLAYLO
- 2670 RETURN
- 2680 REM ***** See if we can trump in **
- 2690 PLAYHI=-1:PLAYLO=-1:SIDE2HI=-1:SIDE2LO=8
- 2700 IF LEAD=7 THEN 2720
- 2710 WHOHAS(LOOKFOR-1,LEAD)=0
- 2720 FOR X9=0 TO 6
- 2730 IF TRUMP<>7 THEN 2770
- 2740 IF TEMP(X9,0)=-1 THEN 2890
- 2750 IF TEMP(X9,0)=TEMP(X9,1) THEN TEST=TEMP(X9,0) ELSE 2890
- 2760 GOTO 2860
- 2770 IF TEMP(X9,0)<>TRUMP AND TEMP(X9,1)<>TRUMP THEN 2890
- 2780 IF TEMP(X9,0)=TRUMP THEN TEST=TEMP(X9,1) ELSE TEST=TEMP(X9,0)
- 2790 IF TEST=TRUMP THEN TEST=7
- 2800 IF ABS(WHOSE-LOOKFOR)<>2 THEN 2860
- 2810 IF Y9=3 OR LEAD=OTHER THEN 2890
- 2820 FOR Z80=OTHER+1 TO 6
- 2830 IF LEFTOUT(LEAD,Z80)=1 THEN 2860
- 2840 NEXT Z80
- 2850 GOTO 2890
- 2860 IF TEST<TRUMPIN THEN 2890
- 2870 IF TEST>SIDE2HI THEN SIDE2HI=TEST:PLAYHI=X9
- 2880 IF TEST<SIDE2LO THEN SIDE2LO=TEST:PLAYLO=X9
- 2890 NEXT X9
- 2900 IF PLAYLO=-1 THEN 2940
- 2910 IF Y9=3 AND PLAYLO<>-1 THEN FPLAY=PLAYLO:RETURN
- 2920 FPLAY=PLAYHI:RETURN
- 2930 REM ****** See what else we have to play *********
- 2940 SIDE2HI=-1:PLAYHI=-1:PLAYLO=-1:SIDE2LO=26:CHKFLAG=0
- 2950 FOR X9 = 0 TO 6
- 2960 IF TEMP(X9,0)=-1 THEN 3050
- 2970 IF CHKFLAG=1 THEN 2990
- 2980 IF TEMP(X9,0)=TRUMP OR TEMP(X9,1)=TRUMP THEN 3050
- 2990 TEST=TEMP(X9,0)+TEMP(X9,1)
- 3000 IF TEST=5 THEN TEST=20:GOTO 3030
- 3010 IF TEST=10 THEN TEST=25:GOTO 3030
- 3020 IF TEMP(X9,0)=TEMP(X9,1) THEN TEST=TEST+5
- 3030 IF TEST<SIDE2LO THEN PLAYLO=X9:SIDE2LO=TEST
- 3040 IF TEST>SIDE2HI THEN PLAYHI=X9:SIDE2HI=TEST
- 3050 NEXT X9
- 3060 IF PLAYLO=-1 THEN CHKFLAG=1:GOTO 2950
- 3070 IF ABS(WHOSE-LOOKFOR)=2 THEN 3090
- 3080 FPLAY=PLAYLO:RETURN
- 3090 IF SIDE2HI<20 THEN 3080
- 3100 DOIT=0
- 3110 FOR X8=OTHER TO 6
- 3120 IF LEAD<>7 THEN 3150
- 3130 IF LEFTOUT(OTHER,OTHER)=1 THEN DOIT=1
- 3140 GOTO 3180
- 3150 IF LEAD=OTHER THEN 3180
- 3160 IF LEFTOUT(LEAD,X8)=1 THEN DOIT=1
- 3170 IF LEAD=OTHER THEN FPLAY=PLAYHI:RETURN
- 3180 NEXT X8
- 3190 IF DOIT=0 THEN FPLAY=PLAYHI:RETURN
- 3200 FPLAY=PLAYLO:RETURN
- 3210 REM **************** TRASH SECTION *******************
- 3220 PLAYHI=-1:PLAYLO=-1:SIDE2HI=-1:SIDE2LO=8
- 3230 FOR X9=0 TO 6
- 3240 IF TEMP(X9,0)<>LEAD AND TEMP(X9,1)<>LEAD THEN 3290
- 3250 IF TEMP(X9,0)=LEAD THEN TEST=TEMP(X9,1) ELSE TEST=TEMP(X9,0)
- 3260 IF TEST=LEAD THEN TEST=7
- 3270 IF TEST<SIDE2LO THEN PLAYLO=X9:SIDE2LO=TEST
- 3280 IF TEST>SIDE2HI THEN PLAYHI=X9:SIDE2HI=TEST
- 3290 NEXT X9
- 3300 IF PLAYLO=-1 THEN 3370
- 3310 IF INTURN=BIDDER THEN FPLAY=PLAYLO:RETURN
- 3320 IF WHOSE=BIDDER THEN 3350
- 3330 IF SIDE2LO<OTHER THEN FPLAY=PLAYLO ELSE FPLAY=PLAYHI
- 3340 RETURN
- 3350 IF Y9=3 THEN FPLAY=PLAYHI ELSE FPLAY=PLAYLO
- 3360 RETURN
- 3370 HIGHC=-1
- 3380 FOR X9=0 TO 6
- 3390 IF TEMP(X9,0)=-1 THEN 3430
- 3400 TEST=TEMP(X9,0)+TEMP(X9,1)
- 3410 IF TEMP(X9,0)=TEMP(X9,1) THEN TEST=TEST+5
- 3420 IF TEST>HIGHC THEN FPLAY=X9:HIGHC=TEST
- 3430 NEXT X9
- 3440 RETURN
- 3450 REM ********** This is the leading section **********
- 3460 IF TRUMP=8 THEN 4000
- 3470 CHKFLAG=0:TIMES=0
- 3480 CREAL=0:COTHER=0:PLAYLO=-1:PLAYHI=-1:SIDE2HI=-1:SIDE2LO=8
- 3490 FOR X9=0 TO 6
- 3500 IF TEMP(X9,0)=-1 THEN 3620
- 3510 IF TEMP(X9,0)<>TRUMP AND TEMP(X9,1)<>TRUMP THEN COTHER=COTHER+1:GOTO 3620
- 3520 CREAL=CREAL+1
- 3530 IF TEMP(X9,0)=TRUMP THEN TEST=TEMP(X9,1) ELSE TEST=TEMP(X9,0)
- 3540 IF TEST=TRUMP THEN TEST=7:GOTO 3600
- 3550 IF CHKFLAG=1 THEN 3600
- 3560 IF LEFTOUT(TRUMP,TRUMP)=1 THEN 3620
- 3570 FOR Y6=TEST+1 TO 6
- 3580 IF LEFTOUT(TRUMP,Y6)=1 THEN 3620
- 3590 NEXT Y6
- 3600 IF TEST>SIDE2HI THEN SIDE2HI=TEST:PLAYHI=X9
- 3610 IF TEST<SIDE2LO THEN SIDE2LO=TEST:PLAYLO=X9
- 3620 NEXT X9
- 3630 IF SEVEN=1 AND SIDE2HI<7 THEN 3710
- 3640 IF COTHER=0 AND SIDE2HI=-1 THEN CHKFLAG=1:GOTO 3490
- 3650 IF CHKFLAG=1 THEN 3690
- 3660 IF CREAL+GONE(TRUMP)>7 THEN 3710
- 3670 IF WHOSE=1 OR WHOSE=3 THEN PEOPLE=3 ELSE PEOPLE=2
- 3680 IF WHOHAS(PEOPLE,TRUMP)=0 AND WHOHAS(PEOPLE-2,TRUMP)=0 THEN 3710
- 3690 IF PLAYLO=-1 THEN 3710
- 3700 FPLAY=PLAYHI:RETURN
- 3710 REM *********** OFFLEADS ************
- 3720 TIMES=TIMES+1
- 3730 FINAL=100
- 3740 IF WHOSE=2 OR WHOSE=4 THEN PEOPLE=2 ELSE PEOPLE=3
- 3750 FOR X9=0 TO 6
- 3760 IF TEMP(X9,0)=-1 THEN 3950
- 3770 IF TIMES<2 AND (TEMP(X9,0)=TRUMP OR TEMP(X9,1)=TRUMP) THEN 3950
- 3780 IF TEMP(X9,0)=TEMP(X9,1) THEN FPLAY=X9:RETURN
- 3790 COUNTER=0
- 3800 IF LEFTOUT(TEMP(X9,1),TEMP(X9,1))=1 THEN COUNTER=COUNTER+1 ELSE 3820
- 3810 IF TEMP(X9,1)+TEMP(X9,1)=10 THEN COUNTER=COUNTER+20
- 3820 FOR Y6=TEMP(X9,0) TO 6
- 3830 IF LEFTOUT(Y6,TEMP(X9,1))=1 THEN COUNTER=COUNTER+1 ELSE 3860
- 3840 IF Y6+TEMP(X9,1)=5 THEN COUNTER=COUNTER+10
- 3850 IF Y6+TEMP(X9,1)=10 THEN COUNTER=COUNTER+20
- 3860 NEXT Y6
- 3870 REM IF WHOHAS(PEOPLE,TEMP(X9,1))=0 AND WHOHAS(PEOPLE-2,TEMP(X9,1))=0 THEN COUNTER=0:GOTO 4415
- 3880 FOR Y6=0 TO 6
- 3890 IF TEMP(Y6,0)=TEMP(X9,1) OR TEMP(Y6,1)=TEMP(X9,1) THEN COUNTER=COUNTER-1 ELSE 3920
- 3900 IF TEMP(Y6,0)+TEMP(Y6,1)=5 THEN COUNTER=COUNTER-5
- 3910 IF TEMP(Y6,0)+TEMP(Y6,1)=10 THEN COUNTER=COUNTER-10
- 3920 NEXT Y6
- 3930 IF COUNTER=0 THEN FPLAY=X9:RETURN
- 3940 IF COUNTER<FINAL THEN FPLAY=X9:FINAL=COUNTER
- 3950 NEXT X9
- 3960 IF FINAL<6 THEN RETURN
- 3970 IF TIMES>1 THEN 3990
- 3980 CHKFLAG=1:GOTO 3480
- 3990 RETURN
- 4000 REM ********* Play the lowest thing we've got **********
- 4010 HIGHC=100
- 4020 FOR X9=0 TO 6
- 4030 IF TEMP(X9,0)=-1 THEN 4100
- 4040 IF TEMP(X9,0)=TRUMP OR TEMP(X9,1)=TRUMP THEN 4100
- 4050 TEST=TEMP(X9,0)+TEMP(X9,1)
- 4060 IF TRUMP=8 THEN 4080
- 4070 IF TEST=5 OR TEST=10 THEN TEST=TEST*4
- 4080 IF TEMP(X9,0)=TEMP(X9,1) THEN TEST=TEST+10
- 4090 IF TEST<HIGHC THEN FPLAY=X9:HIGHC=TEST
- 4100 NEXT X9
- 4110 RETURN
- 4120 REM ********** The section where the play starts ************
- 4130 LOCATE 11,1:PRINT SPACE$(4);:LOCATE 12,1:PRINT SPACE$(4);
- 4140 LOCATE 1,18:PRINT SPACE$(4);:LOCATE 2,18:PRINT SPACE$(4);
- 4150 LOCATE 11,34:PRINT SPACE$(4);:LOCATE 12,34:PRINT SPACE$(4);
- 4160 LOCATE 21,18:PRINT SPACE$(20);
- 4170 IF BIDDER>1 THEN 4250
- 4180 LOCATE 21,14:INPUT "Trump suit";A$
- 4190 IF LEFT$(A$,1)="D" OR LEFT$(A$,1)="d" THEN TRUMP=7:GOTO 4230
- 4200 IF LEFT$(A$,1)="T" OR LEFT$(A$,1)="t" THEN TRUMP=8:GOTO 4230
- 4210 IF VAL(A$)<0 OR VAL(A$)>6 THEN BEEP:GOTO 4160
- 4220 TRUMP=VAL(A$)
- 4230 IF TRUMP=8 AND HIBID<42 THEN BEEP:GOTO 4160
- 4240 LOCATE 21,14:PRINT SPACE$(25);
- 4250 LOCATE 3,17:PRINT "Trump ";
- 4260 IF TRUMP=8 THEN PRINT "T" ELSE IF TRUMP=7 THEN PRINT "D" ELSE PRINT TRUMP
- 4270 LOCATE 5,17:PRINT "Bid ";HIBID
- 4280 GOTO 4310
- 4290 REM *********** BOOMER SOONER **************
- 4300 RETURN
- 4310 ROWLEVA=0:ROWLEVB=0:TSCOREA=0:TSCOREB=0
- 4320 REM ****** This sets up each hand for leads ********
- 4330 FOR XX=0 TO 6
- 4340 WHOHAS(0,XX)=1:WHOHAS(1,XX)=1:WHOHAS(2,XX)=1:WHOHAS(3,XX)=1:GONE(XX)=0
- 4350 FOR YY=0 TO 6
- 4360 LEFTOUT(XX,YY)=1
- 4370 NEXT YY
- 4380 NEXT XX
- 4390 FOR XX=0 TO 3:INPLAY(XX,0)=-1:INPLAY(XX,1)=-1:NEXT XX
- 4400 FOR SEVEN=1 TO 7
- 4410 ON WHOSE GOTO 4420,4660,4860,5060
- 4420 LOCATE 21,17:PRINT SPACE$(20);
- 4430 LOCATE 21,17:INPUT "Play ";A$
- 4440 IF A$<>"C" AND A$<>"c" THEN 4460
- 4450 IF SEVEN=1 THEN 4160
- 4460 IF VAL(A$)<1 OR VAL(A$)>7 THEN 4420
- 4470 IF A(VAL(A$)-1,0)=-1 THEN 4420
- 4480 LINE(45*(VAL(A$)-1),199)-STEP(40,-20),0,BF
- 4490 LINE(135,125)-STEP(40,-20),2,B
- 4500 LINE(155,125)-STEP(0,-20),2
- 4510 X=135:Y=125:L1=A(VAL(A$)-1,0):GOSUB 760
- 4520 X=155:L1=A(VAL(A$)-1,1):GOSUB 760
- 4530 IF A(VAL(A$)-1,0)=TRUMP OR A(VAL(A$)-1,1)=TRUMP THEN LEAD=TRUMP:GOTO 4560
- 4540 IF A(VAL(A$)-1,0)=A(VAL(A$)-1,1) AND TRUMP=7 THEN LEAD=TRUMP:GOTO 4560
- 4550 LEAD=A(VAL(A$)-1,1):OTHER=A(VAL(A$)-1,0):GOTO 4580
- 4560 IF LEAD=TRUMP AND A(VAL(A$)-1,0)=TRUMP THEN OTHER=A(VAL(A$)-1,1) ELSE OTHER = A(VAL(A$)-1,0)
- 4570 IF OTHER=LEAD THEN OTHER=7
- 4580 LEFTOUT(A(VAL(A$)-1,0),A(VAL(A$)-1,1))=0
- 4590 GONE(A(VAL(A$)-1,0))=GONE(A(VAL(A$)-1,0))+1
- 4600 GONE(A(VAL(A$)-1,1))=GONE(A(VAL(A$)-1,1))+1
- 4610 LEFTOUT(A(VAL(A$)-1,1),A(VAL(A$)-1,0))=0
- 4620 INPLAY(0,0)=A(VAL(A$)-1,0):INPLAY(0,1)=A(VAL(A$)-1,1)
- 4630 A(VAL(A$)-1,0)=-1:A(VAL(A$)-1,1)=-1
- 4640 GOSUB 5310
- 4650 GOTO 5260
- 4660 REM ********** player B *********
- 4670 FOR Z9=0 TO 6
- 4680 TEMP(Z9,0)=B(Z9,0):TEMP(Z9,1)=B(Z9,1)
- 4690 NEXT Z9
- 4700 GOSUB 3450
- 4710 IF TEMP(FPLAY,0)=TRUMP OR TEMP(FPLAY,1)=TRUMP THEN LEAD=TRUMP:GOTO 4740
- 4720 IF TEMP(FPLAY,0)=TEMP(FPLAY,1) AND TRUMP=7 THEN LEAD=TRUMP:GOTO 4740
- 4730 LEAD=TEMP(FPLAY,1):OTHER=TEMP(FPLAY,0):GOTO 4760
- 4740 IF LEAD=TRUMP AND TEMP(FPLAY,0)=TRUMP THEN OTHER=TEMP(FPLAY,1) ELSE OTHER = TEMP(FPLAY,0)
- 4750 IF OTHER=LEAD THEN OTHER=7
- 4760 LINE (76,100)-STEP(40,-20),2,B
- 4770 LINE (96,100)-STEP(0,-20),2
- 4780 X=76:Y=100:L1=B(FPLAY,0):GOSUB 760
- 4790 X=96:L1=B(FPLAY,1):GOSUB 760
- 4800 LEFTOUT(B(FPLAY,0),B(FPLAY,1))=0:LEFTOUT(B(FPLAY,1),B(FPLAY,0))=0
- 4810 GONE(B(FPLAY,0))=GONE(B(FPLAY,0))+1:GONE(B(FPLAY,1))=GONE(B(FPLAY,1))+1
- 4820 INPLAY(0,0)=B(FPLAY,0):INPLAY(0,1)=B(FPLAY,1)
- 4830 B(FPLAY,0)=-1:B(FPLAY,1)=-1
- 4840 GOSUB 5310
- 4850 GOTO 5260
- 4860 REM ********** player C *********
- 4870 FOR Z9=0 TO 6
- 4880 TEMP(Z9,0)=C(Z9,0):TEMP(Z9,1)=C(Z9,1)
- 4890 NEXT Z9
- 4900 GOSUB 3450
- 4910 IF TEMP(FPLAY,0)=TRUMP OR TEMP(FPLAY,1)=TRUMP THEN LEAD=TRUMP:GOTO 4940
- 4920 IF TEMP(FPLAY,0)=TEMP(FPLAY,1) AND TRUMP=7 THEN LEAD=TRUMP:GOTO 4940
- 4930 LEAD=TEMP(FPLAY,1):OTHER=TEMP(FPLAY,0):GOTO 4960
- 4940 IF LEAD=TRUMP AND TEMP(FPLAY,0)=TRUMP THEN OTHER=TEMP(FPLAY,1) ELSE OTHER = TEMP(FPLAY,0)
- 4950 IF OTHER=LEAD THEN OTHER=7
- 4960 LINE (135,75)-STEP(40,-20),2,B
- 4970 LINE (155,75)-STEP(0,-20),2
- 4980 X=135:Y=75:L1=C(FPLAY,0):GOSUB 760
- 4990 X=155:L1=C(FPLAY,1):GOSUB 760
- 5000 LEFTOUT(C(FPLAY,0),C(FPLAY,1))=0:LEFTOUT(C(FPLAY,1),C(FPLAY,0))=0
- 5010 GONE(C(FPLAY,0))=GONE(C(FPLAY,0))+1:GONE(C(FPLAY,1))=GONE(C(FPLAY,1))+1
- 5020 INPLAY(0,0)=C(FPLAY,0):INPLAY(0,1)=C(FPLAY,1)
- 5030 C(FPLAY,0)=-1:C(FPLAY,1)=-1
- 5040 GOSUB 5310
- 5050 GOTO 5260
- 5060 REM ********** player D *********
- 5070 FOR Z9=0 TO 6
- 5080 TEMP(Z9,0)=D(Z9,0):TEMP(Z9,1)=D(Z9,1)
- 5090 NEXT Z9
- 5100 GOSUB 3450
- 5110 IF TEMP(FPLAY,0)=TRUMP OR TEMP(FPLAY,1)=TRUMP THEN LEAD=TRUMP:GOTO 5140
- 5120 IF TEMP(FPLAY,0)=TEMP(FPLAY,1) AND TRUMP=7 THEN LEAD=TRUMP:GOTO 5140
- 5130 LEAD=TEMP(FPLAY,1):OTHER=TEMP(FPLAY,0):GOTO 5160
- 5140 IF LEAD=TRUMP AND TEMP(FPLAY,0)=TRUMP THEN OTHER=TEMP(FPLAY,1) ELSE OTHER = TEMP(FPLAY,0)
- 5150 IF OTHER=LEAD THEN OTHER=7
- 5160 LINE (190,100)-STEP(40,-20),2,B
- 5170 LINE (210,100)-STEP(0,-20),2
- 5180 X=190:Y=100:L1=D(FPLAY,0):GOSUB 760
- 5190 X=210:L1=D(FPLAY,1):GOSUB 760
- 5200 LEFTOUT(D(FPLAY,0),D(FPLAY,1))=0:LEFTOUT(D(FPLAY,1),D(FPLAY,0))=0
- 5210 GONE(D(FPLAY,0))=GONE(D(FPLAY,0))+1:GONE(D(FPLAY,1))=GONE(D(FPLAY,1))+1
- 5220 INPLAY(0,0)=D(FPLAY,0):INPLAY(0,1)=D(FPLAY,1)
- 5230 D(FPLAY,0)=-1:D(FPLAY,1)=-1
- 5240 GOSUB 5310
- 5250 GOTO 5260
- 5260 FOR XXY=1 TO 500:NEXT XXY
- 5270 LINE (74,51)-(232,129),0,BF
- 5280 IF TRUMP=8 AND WHOSE=BIDDER THEN 6810
- 5290 NEXT SEVEN
- 5300 GOTO 6810
- 5310 REM ************* This is the section for passive plays ************
- 5320 TRUMPIN=-1
- 5330 IF WHOSE=4 THEN INTURN=1 ELSE INTURN=WHOSE+1
- 5340 FOR Y9=1 TO 3
- 5350 ON INTURN GOSUB 5910,5400,5570,5740
- 5360 IF INTURN=4 THEN INTURN=1 ELSE INTURN=INTURN+1
- 5370 NEXT Y9
- 5380 GOSUB 6440
- 5390 RETURN
- 5400 REM ********** player B *********
- 5410 IF TRUMP=8 AND BIDDER=4 THEN RETURN
- 5420 LOOKFOR=2
- 5430 FOR Z9=0 TO 6
- 5440 TEMP(Z9,0)=B(Z9,0):TEMP(Z9,1)=B(Z9,1)
- 5450 NEXT Z9
- 5460 GOSUB 2420
- 5470 LINE (76,100)-STEP(40,-20),2,B
- 5480 LINE (96,100)-STEP(0,-20),2
- 5490 X=76:Y=100:L1=B(FPLAY,0):GOSUB 760
- 5500 X=96:L1=B(FPLAY,1):GOSUB 760
- 5510 GONE(B(FPLAY,0))=GONE(B(FPLAY,0))+1:GONE(B(FPLAY,1))=GONE(B(FPLAY,1))+1
- 5520 LEFTOUT(B(FPLAY,0),B(FPLAY,1))=0:LEFTOUT(B(FPLAY,1),B(FPLAY,0))=0
- 5530 GOSUB 6210
- 5540 INPLAY(Y9,0)=B(FPLAY,0):INPLAY(Y9,1)=B(FPLAY,1)
- 5550 B(FPLAY,0)=-1:B(FPLAY,1)=-1
- 5560 RETURN
- 5570 REM ********** player C *********
- 5580 IF TRUMP=8 AND BIDDER=1 THEN RETURN
- 5590 LOOKFOR=3
- 5600 FOR Z9=0 TO 6
- 5610 TEMP(Z9,0)=C(Z9,0):TEMP(Z9,1)=C(Z9,1)
- 5620 NEXT Z9
- 5630 GOSUB 2420
- 5640 LINE (135,75)-STEP(40,-20),2,B
- 5650 LINE (155,75)-STEP(0,-20),2
- 5660 X=135:Y=75:L1=C(FPLAY,0):GOSUB 760
- 5670 X=155:L1=C(FPLAY,1):GOSUB 760
- 5680 GONE(C(FPLAY,0))=GONE(C(FPLAY,0))+1:GONE(C(FPLAY,1))=GONE(C(FPLAY,1))+1
- 5690 LEFTOUT(C(FPLAY,0),C(FPLAY,1))=0:LEFTOUT(C(FPLAY,1),C(FPLAY,0))=0
- 5700 GOSUB 6210
- 5710 INPLAY(Y9,0)=C(FPLAY,0):INPLAY(Y9,1)=C(FPLAY,1)
- 5720 C(FPLAY,0)=-1:C(FPLAY,1)=-1
- 5730 RETURN
- 5740 REM ********** player D *********
- 5750 IF TRUMP=8 AND BIDDER=2 THEN RETURN
- 5760 LOOKFOR=4
- 5770 FOR Z9=0 TO 6
- 5780 TEMP(Z9,0)=D(Z9,0):TEMP(Z9,1)=D(Z9,1)
- 5790 NEXT Z9
- 5800 GOSUB 2420
- 5810 LINE (190,100)-STEP(40,-20),2,B
- 5820 LINE (210,100)-STEP(0,-20),2
- 5830 X=190:Y=100:L1=D(FPLAY,0):GOSUB 760
- 5840 X=210:L1=D(FPLAY,1):GOSUB 760
- 5850 GONE(D(FPLAY,0))=GONE(D(FPLAY,0))+1:GONE(D(FPLAY,1))=GONE(D(FPLAY,1))+1
- 5860 LEFTOUT(D(FPLAY,0),D(FPLAY,1))=0:LEFTOUT(D(FPLAY,1),D(FPLAY,0))=0
- 5870 GOSUB 6210
- 5880 INPLAY(Y9,0)=D(FPLAY,0):INPLAY(Y9,1)=D(FPLAY,1)
- 5890 D(FPLAY,0)=-1:D(FPLAY,1)=-1
- 5900 RETURN
- 5910 REM ******** Player A plays here ************
- 5920 IF TRUMP=8 AND BIDDER=3 THEN RETURN
- 5930 LOCATE 21,17:PRINT SPACE$(20);
- 5940 LOCATE 21,17:INPUT "Play ";A$
- 5950 IF VAL(A$)<1 OR VAL(A$)>7 THEN BEEP:GOTO 5930
- 5960 FPLAY=VAL(A$)-1
- 5970 IF A(FPLAY,0)=-1 THEN BEEP:GOTO 5930
- 5980 IF LEAD=TRUMP AND (A(FPLAY,0)=TRUMP OR A(FPLAY,1)=TRUMP) THEN 6090
- 5990 IF LEAD<>TRUMP AND (A(FPLAY,0)=TRUMP OR A(FPLAY,1)=TRUMP) THEN 6010
- 6000 IF A(FPLAY,0)=LEAD OR A(FPLAY,1)=LEAD THEN 6090
- 6010 FOR Z80=0 TO 6
- 6020 IF A(Z80,0)=-1 THEN 6080
- 6030 IF Z80=FPLAY THEN 6080
- 6040 IF LEAD=TRUMP AND (A(Z80,0)=LEAD OR A(Z80,1)=LEAD) THEN BEEP:GOTO 5930
- 6050 IF A(Z80,0)=A(Z80,1) AND A(Z80,0)=LEAD THEN BEEP:GOTO 5930
- 6060 IF A(Z80,1)=LEAD AND A(Z80,0)<>TRUMP THEN BEEP:GOTO 5930
- 6070 IF A(Z80,0)=LEAD AND A(Z80,1)<>TRUMP THEN BEEP:GOTO 5930
- 6080 NEXT Z80
- 6090 LINE(45*(FPLAY),199)-STEP(40,-20),0,BF
- 6100 LINE(135,125)-STEP(40,-20),2,B
- 6110 LINE(155,125)-STEP(0,-20),2
- 6120 X=135:Y=125:L1=A(FPLAY,0):GOSUB 760
- 6130 X=155:L1=A(FPLAY,1):GOSUB 760
- 6140 TEMP(FPLAY,0)=A(FPLAY,0):TEMP(FPLAY,1)=A(FPLAY,1)
- 6150 LEFTOUT(A(FPLAY,0),A(FPLAY,1))=0:LEFTOUT(A(FPLAY,1),A(FPLAY,0))=0
- 6160 GOSUB 6210
- 6170 GONE(A(FPLAY,0))=GONE(A(FPLAY,0))+1:GONE(A(FPLAY,1))=GONE(A(FPLAY,1))+1
- 6180 INPLAY(Y9,0)=A(FPLAY,0):INPLAY(Y9,1)=A(FPLAY,1)
- 6190 A(FPLAY,0)=-1:A(FPLAY,1)=-1
- 6200 RETURN
- 6210 REM ****** This determines if the play took the lead or not ******
- 6220 IF TEMP(FPLAY,0)=TRUMP OR TEMP(FPLAY,1)=TRUMP THEN 6270
- 6230 IF TRUMP=7 THEN 6380
- 6240 IF TRUMPIN>-1 THEN 6330
- 6250 IF TEMP(FPLAY,0)=LEAD OR TEMP(FPLAY,1)=LEAD THEN 6350
- 6260 GOTO 6330
- 6270 IF LEAD=TRUMP THEN 6350
- 6280 IF TEMP(FPLAY,0)=TRUMP THEN SIDE2=TEMP(FPLAY,1) ELSE SIDE2=TEMP(FPLAY,0)
- 6290 IF SIDE2=TRUMP THEN TRUMPIN=7:GOTO 6310
- 6300 IF SIDE2>TRUMPIN THEN TRUMPIN=SIDE2 ELSE 6330
- 6310 OTHER=SIDE2
- 6320 WHOSE=INTURN
- 6330 REM
- 6340 RETURN
- 6350 IF TEMP(FPLAY,0)=LEAD THEN SIDE2=TEMP(FPLAY,1) ELSE SIDE2=TEMP(FPLAY,0)
- 6360 IF OTHER=LEAD THEN 6330
- 6370 IF SIDE2>OTHER OR SIDE2=LEAD THEN 6310 ELSE 6330
- 6380 IF LEAD<>TRUMP THEN 6420
- 6390 IF TEMP(FPLAY,0)<>TEMP(FPLAY,1) THEN 6330
- 6400 IF TEMP(FPLAY,0)>OTHER THEN OTHER=TEMP(FPLAY,0):GOTO 6320
- 6410 GOTO 6330
- 6420 IF TEMP(FPLAY,0)=TEMP(FPLAY,1) AND TEMP(FPLAY,0)>TRUMPIN THEN 6430 ELSE 6240
- 6430 TRUMPIN=TEMP(FPLAY,0):OTHER=TRUMPIN:GOTO 6320
- 6440 REM ************ This section displays the resluts of the last round ***
- 6450 POINTS=1
- 6460 IF WHOSE=2 OR WHOSE=4 THEN COLUMN=240 ELSE COLUMN=0
- 6470 IF WHOSE=2 OR WHOSE=4 THEN ROWLEV=ROWLEVB ELSE ROWLEV=ROWLEVA
- 6480 OFFSET=0
- 6490 NN9=0
- 6500 FOR N9=0 TO 3
- 6510 IF INPLAY(N9,0)=-1 THEN 6610
- 6520 LINE (NN9*17+COLUMN,ROWLEV*20+12)-STEP(15,18),2,B
- 6530 LINE (NN9*17+COLUMN,ROWLEV*20+9+12)-STEP(15,0),2
- 6540 XYZZY=INPLAY(N9,0)+INPLAY(N9,1)
- 6550 IF XYZZY=5 OR XYZZY=10 THEN POINTS=POINTS+XYZZY
- 6560 SYMBOL=INPLAY(N9,0):X=NN9*17+COLUMN:Y=ROWLEV*20+12
- 6570 GOSUB 6690
- 6580 SYMBOL=INPLAY(N9,1):Y=Y+10
- 6590 GOSUB 6690
- 6600 NN9=NN9+1
- 6610 NEXT N9
- 6620 FOR N9=0 TO 3
- 6630 INPLAY(N9,0)=-1:INPLAY(N9,1)=-1
- 6640 NEXT N9
- 6650 IF WHOSE=2 OR WHOSE=4 THEN ROWLEVB=ROWLEVB+1 ELSE ROWLEVA=ROWLEVA+1
- 6660 IF WHOSE=2 OR WHOSE=4 THEN TSCOREB=TSCOREB+POINTS:GOTO 6680
- 6670 TSCOREA=TSCOREA+POINTS
- 6680 RETURN
- 6690 REM ********** Add little dots to the little dominoes **********
- 6700 ON SYMBOL GOTO 6720,6730,6750,6760,6780,6790
- 6710 RETURN
- 6720 PSET(X+7,Y+4),3:RETURN
- 6730 PSET(X+2,Y+2),3:PSET(X+13,Y+6),3
- 6740 RETURN
- 6750 GOSUB 6720:GOSUB 6730:RETURN
- 6760 PSET(X+13,Y+2),3:PSET(X+2,Y+6),3
- 6770 GOSUB 6730:RETURN
- 6780 GOSUB 6760:GOSUB 6720:RETURN
- 6790 PSET(X+2,Y+4),3:PSET(X+13,Y+4),3
- 6800 GOSUB 6760:RETURN
- 6810 REM ********** This section determines the score **********
- 6820 IF BIDDER=2 OR BIDDER=4 THEN 6880
- 6830 IF TRUMP<8 THEN 6860
- 6840 IF TSCOREA>0 THEN BSCORE=BSCORE+HIBID ELSE ASCORE=ASCORE+HIBID
- 6850 GOTO 6930
- 6860 IF TSCOREA=42 OR TSCOREA>=HIBID THEN ASCORE=ASCORE+TSCOREA+HIBID:GOTO 6930
- 6870 BSCORE=BSCORE+TSCOREB+HIBID:GOTO 6930
- 6880 IF TRUMP<8 THEN 6910
- 6890 IF TSCOREB>0 THEN ASCORE=ASCORE+HIBID ELSE BSCORE=BSCORE+HIBID
- 6900 GOTO 6930
- 6910 IF TSCOREB=42 OR TSCOREB>=HIBID THEN BSCORE=BSCORE+TSCOREB+HIBID:GOTO 6930
- 6920 ASCORE=ASCORE+TSCOREA+HIBID
- 6930 IF ASCORE>=300 THEN LOCATE 12,13:PRINT "We win the game";:GOTO 6960
- 6940 IF BSCORE>=300 THEN LOCATE 12,12:PRINT "They won the game";:GOTO 6960
- 6950 GOTO 430
- 6960 GOSUB 4290:LOCATE 13,14:PRINT "Another game?";
- 6970 GG9$=INKEY$:IF GG9$="" THEN 6970
- 6980 IF GG9$="n" OR GG9$="N" THEN SYSTEM ELSE 310
-